package top.zackyoung.demo.service;

import top.zackyoung.demo.entity.User;

import java.util.stream.Stream;

/**
 * @author: ZackYoung
 * @time: 2020/9/18
 */

public interface JpaService {
    /**
     * 添加用户(第一种方法)
     * @param user  用户
     */
    String  add1(User user);

    /**
     * 添加用户(第二种)
     * @param id    用户id
     * @param name  用户名
     * @return  int
     */
    int add2(Long id,String name);

    /**
     * 删除
     * @param id    用户id
     * @return  int
     */
    int delete(Long id);

    /**
     * 查询(使用jpa内置方法)
     * @return  User
     */
    Iterable<User> getAllUsers();

    /**
     * 查询(自定义ByName)
     * @param name  用户名
     * @return  User
     */
    User getByNameUser(String name);

    /**
     * 修改(自定义)
     * @param id    用户id
     * @param name  用户名
     * @return  int
     */
    int updateByUserId(Long id,String name);

    /**
     * 分页查询
     * @param roleId    角色id
     * @param page  页数
     * @return  用户
     */
    Stream<User> findAllOrder(Long roleId,Integer page);
}
